package edu.core.testapp.client;

import com.google.gwt.user.client.rpc.AsyncCallback;

import edu.core.testapp.shared.RSAKeysString;
import edu.core.testapp.shared.RSAKeysString.RSACLoseKeyString;
import edu.core.testapp.shared.RSAKeysString.RSAOpenKeyString;

public interface Protect02ServiceAsync {

	void getnerateKeys(AsyncCallback<String[]> callback);

	void encodeString(String msg, RSAOpenKeyString open,
			AsyncCallback<String> callback);

	void decodeString(String code, RSAOpenKeyString open,
			RSACLoseKeyString close, AsyncCallback<String> callback);

	void generateKeys(AsyncCallback<RSAKeysString> callback);

	void base64ToString(String base64, AsyncCallback<String> callback);

	void stringToBase64(String string, AsyncCallback<String> callback);

	void decodeBase64(String code, RSAOpenKeyString open,
			RSACLoseKeyString close, AsyncCallback<String> callback);

	void encodeBase64(String msg, RSAOpenKeyString open,
			AsyncCallback<String> callback);

}
